www.gusucode.com > RQCMS PHP文章管理系统 v2.3PHP源码程序 > RQCMS PHP文章管理系统 v2.3/rqcms_v2.3/rqcms_v2.3/core/include/article.php
<?php //这里对POST的数据进行处理,成功返回fasle function getDateLine() { global $_POST; $newyear = intval($_POST['newyear']); $newmonth = intval($_POST['newmonth']); $newday = intval($_POST['newday']); $newhour = intval($_POST['newhour']); $newmin = intval($_POST['newmin']); $newsec = intval($_POST['newsec']); return mktime($newhour,$newmin,$newsec,$newmonth,$newday,$newyear); } //得到tag的数组 function getTagArr($tag) { if(!$tag) return false; $tag = str_replace(',', ',', $tag); $tag = str_replace(',,', ',', $tag); if (substr($tag, -1) == ',') { $tag = substr($tag, 0, strlen($tag)-1); } if(!$tag) return false; $tagarr= explode(',',$tag); $tagarr= array_unique($tagarr); return $tagarr; } //清空cookie里保存的数据 function clearCookie() { setcookie('cid',''); setcookie('title',''); setcookie('excerpt',''); @setcookie('content',''); setcookie('keywords',''); } // 暂时把提交的数据保存到COOKIE function saveCookie() { global $cid,$title,$excerpt,$content,$keywords,$timestamp; $cookietime=$timestamp+2592000; setcookie('cid',$cid,$cookietime); setcookie('title',$title,$cookietime); setcookie('excerpt',$excerpt,$cookietime); @setcookie('content',$content,$cookietime);//dreamhost会出错,不知道为什么,12.7.14 setcookie('keywords',$keywords,$cookietime); } // 检查提交内容是否符合逻辑 function checkcontent($content) { if(!$content || strlen($content) < 4) { $result .= '内容不能为空并且不能少于4个字符<br />'; return $result; } } // 检查标题是否符合逻辑 function checktitle($title) { if(!$title || strlen($title) > 120) { $result = '标题不能为空并且不能超过120个字符<br />'; return $result; } } function getAttach() { global $_POST,$_FILES,$host,$cid; $attachments=array();//name, tmp_name,size,type,error if(isset($_FILES['attach']) && is_array($_FILES['attach'])) { foreach($_FILES['attach'] as $key => $varArr) { foreach($varArr as $id => $val) { $attachments[$id][$key] = $val; } } } foreach($attachments as $id=>$val) { if(empty($val['name'])) unset($attachments[$id]); else $attachments[$id]['localid']=$id; } foreach($attachments as $id=>$val) { $attach_dir=''; switch($host['attach_save_dir']) { case 0: $attach_dir = ''; break; //全部放一起 case 1: $attach_dir = 'cate_'.$cid; break; //按分类放 case 2: $attach_dir = 'date_'.date('Ym'); break; //按月放 case 3: $attach_dir = 'ext_'.$ext; break; //按文件类型 } //创建目录 $savedir=RQ_DATA.'/files/'.$attach_dir.'/'; if(!is_dir($savedir)) { mkdir($savedir, 0777); @chmod($savedir, 0777); } $ext=strtolower(trim(pathinfo($val['name'], PATHINFO_EXTENSION))); $fnamehash = md5(uniqid(microtime())); $filepath = $attach_dir.'/'.$fnamehash.'.'.$ext.'.file'; $attachment=RQ_DATA.'/files/'.$filepath;exit($val['tmp_name']); if(!move_uploaded_file($val['tmp_name'],$attachment)) { redirect('上传附件发生意外错误!'); } $attachments[$id]['filepath']=$filepath; $attachments[$id]['filename']=$attachments[$id]['name']; $attachments[$id]['filetype']=$attachments[$id]['type']; unset($attachments[$id]['type']); unset($attachments[$id]['name']); unset($attachments[$id]['error']); unset($attachments[$id]['tmp_name']); $tmp_filesize = @filesize($attachment); if ($tmp_filesize != $attachments[$id]['size']) { @unlink($attachment); redirect('文件大小错误上传附件发生意外错误!文件大小错误'); } $attachments[$id]['filesize']=$attachments[$id]['size']; unset($attachments[$id]['size']); // 判断是否为图片格式 $isimage = '0'; if (in_array($ext, array('gif', 'jpg', 'jpeg', 'png'))) { if ($imginfo=@getimagesize($attachment)) { if (!$imginfo[2] || !$imginfo['bits']) { @unlink($attachment); redirect('上传的文件不是一个有效的GIF或者JPG文件!'); } else { $isimage = '1'; } } $attachments[$id]['isimage']=$isimage; //水印 $watermark_size = explode('x', strtolower($host['watermark_size'])); if($isimage && $host['watermark'] && count($watermark_size)==2&&$imginfo[0] > $watermark_size[0]*2 && $imginfo[1] > $watermark_size[1]*2 && $tmp_filesize < 2048000) { $waterfile=RQ_DATA.'/watermark/'.$host['host'].'.png'; if(file_exists($waterfile)) coreaddwatermark($attachment,$waterfile,$host['watermark_pos'],$host['watermark_trans']); } } if(!isset($attachments[$id]['isimage'])) $attachments[$id]['isimage']='0'; } return $attachments; }